from app import app, db, User
from werkzeug.security import generate_password_hash


def init_database():
    """初始化数据库"""
    with app.app_context():
        # 创建所有表
        db.create_all()

        # 检查是否已存在管理员账户
        admin = User.query.filter_by(username='admin').first()
        if not admin:
            # 创建默认管理员账户
            admin_user = User(
                username='admin',
                email='admin@example.com',
                password_hash=generate_password_hash('admin123'),
                is_admin=True
            )
            db.session.add(admin_user)
            db.session.commit()
            print("✅ 创建默认管理员账户: admin / admin123")
        else:
            print("✅ 管理员账户已存在")

        print("✅ 数据库初始化完成")


if __name__ == '__main__':
    init_database()